home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / biz / patch / posinstall.lha / pOS_Install < prev   
Text File  |  1997-08-07  |  17KB  |  418 lines

  1. ; proDAD
  2. ; $VER: pOS_Install 1.0 (07.08.1997) (Copyright by proDAD, All Rights Reserved)
  3. ; V1.1 (07.08.1997) angepaßte Version, die bei Fast-Ram-Mangel nach Rückfrage weiter installiert
  4.  
  5. (if (<> @language "english")
  6.   (if (<> @language "deutsch")
  7.     (set @language "deutsch")
  8.   )
  9. )
  10.  
  11.  
  12. ;=============================================================================
  13. ; Deutsche Texte  (default)
  14.  
  15. (if (= @language "deutsch")
  16. (
  17.   (set #welcome               (cat "\n\nWillkommen zum Installationsprogramm für p.OS.\n\n"
  18.                                    "Für die vollständige Installation von p.OS benötigen Sie 4 MByte freies Ram und 16 MByte freien Festplattenspeicher. Außerdem muß ein 68020 Prozessor (oder besser) vorhanden sein.\n\n"
  19.                                    "Installation fortsetzen ?"))
  20.  
  21.   (set #abort_version         (cat "p.OS Prerelease benötigt mindestens das\nAmigaOS OS 2.04 (V37)\noder größer.\n\n\nINSTALLATION WIRD ABGEBROCHEN"))
  22.   (set #abort_cpu             (cat "p.OS benötigt mindestens einen\n68020 Prozessor oder besser.\n(Vorhanden ist nur ein %s)\n\n\nINSTALLATION WIRD ABGEBROCHEN"))
  23.   (set #abort_memory          (cat "p.OS benötigt mindestens\n4 MByte freien Hauptspeicher.\n(Vorhanden sind nur %ld MBytes)\n\n\nINSTALLATION WIRD ABGEBROCHEN"))
  24.   (set #warn_memory           (cat "\np.OS benötigt mindestens\n4 MByte freien Hauptspeicher.\n(Vorhanden sind nur %ld MBytes)\n\n\nSoll die Installation trotzdem fortgesetzt werden ?"))
  25.   (set #memchoise1            (cat "Installation fortsetzen"))
  26.   (set #memchoise2            (cat "Installation abbrechen"))
  27.   (set #abort_diskname        (cat "\nLaufwerk\n\"%s\"\nist nicht gültig !!!\n\n\nINSTALLATION WIRD ABGEBROCHEN"))
  28.   (set #abort_diskspace       (cat "\nDas ausgewählte Laufwerk\n\"%s\"\nkann kein vollständiges p.OS aufnehmen !!!\n(Nur noch %ld kByte frei.)\n\n\nINSTALLATION WIRD ABGEBROCHEN"))
  29.  
  30.   (set #needinstalcd          (cat "\nBenötige die Installations-CD\n\"%s\"\nin einem Laufwerk,\num mit der Installation fortfahren zu können."))
  31.   (set #needinstalcdhelp      (cat "Ohne die Installations-CD kann p.OS nicht installiert werden!\n\n" @askdisk-help))
  32.  
  33.   (set #selectdrawer          (cat ("Bitte wählen Sie das LAUFWERK aus, in dem p.OS installiert werden soll.")))
  34.   (set #selectdrawerhelp      (cat "Wählen Sie das LAUFWERK aus, in dem p.OS installiert werden soll.\n"
  35.                                    "Es muß sich um ein Hauptverzeichnis handeln!\n"
  36.                                    "Es wird automatisch eine Schublade \"pOS\" erzeugt.\nBereits bestehende Daten bleiben unverändert erhalten und werden NICHT gelöscht.\n\n"
  37.                                    @askdir-help))
  38.   (set #startinstall          (cat "\n\nDas pOS-Verzeichnis \"%s\"\nwird jetzt erstellt und die Daten werden dorthin installiert ..."))
  39.   (set #assignedpos           (cat "\n\nAssign \"pOS:\" wird in die \"User-Startup\"-Datei eingetragen."))
  40.  
  41.   (set #reqchoices1           (cat "Weiter"))
  42.   (set #reqchoices2           (cat "Diesen Teil überspringen"))
  43.  
  44.   (set #checksystem           (cat "\nEs wird nun geprüft, ob Programme installiert sind, die im Parallelbetrieb mit p.OS zu Schwierigkeiten führen können. Diese Programme werden nach Rückfrage automatisch deaktiviert."))
  45.   (set #checksystemhelp       (cat "" @askbool-help))
  46.   (set #checksystemworking    (cat "Das Programm \"Check System\"\nwird aktiviert."))
  47.  
  48.   (set #mountamigavol         (cat "\nSie können festlegen, welche Amiga-Laufwerke auch unter p.OS eingesetzt werden sollen. Diese Laufwerke müssen Sie im nächsten Fenster abhaken."))
  49.   (set #mountamigavolhelp     (cat "" @askbool-help))
  50.   (set #mountamigavolworking  (cat "Das Programm \"MountAmigaVol\"\nwird aktiviert."))
  51.  
  52.   (set #startparameter        (cat "\nNachfolgend können Sie einige Parameter zu Ihrem System einstellen. "
  53.                                    "Vor allem der Bildschirmmodus und der Zeichensatz sollten entsprechend der vorhandenen Hardware "
  54.                                    "(ESC, AGA, Grafikkarte) angepaßt werden.\n\nZusätzlich wird ein Icon zum Start von p.OS eingerichtet."))
  55.   (set #startparameterhelp    (cat "" @askbool-help))
  56.   (set #startparameterworking (cat "Das Programm \"StartParameter\"\nwird aktiviert."))
  57.  
  58.   (set #activate              (cat "\nEs existieren verschiedene Möglichkeiten zur Aktivierung von p.OS.\nBitte wählen Sie die gewünschte Art aus."))
  59.   (set #activatehelp          (cat "" @askchoice-help))
  60.   (set #activatechoices0      (cat "Start-Icon auf die Amiga-Workbench auslagern"))
  61.   (set #activatechoices1      (cat "Automatisch mit dem Amiga starten"))
  62.   (set #activatechoices2      (cat "p.OS von Hand aus dem pOS-Verzeichnis starten"))
  63.   (set #activate0work         (cat "\nStart-Icon für p.OS wird ausgelagert\n..."))
  64.   (set #activate2work         (cat "\nStart-Icon für p.OS wird in die WBStartup-Schublade der Amiga-Workbench kopiert\n..."))
  65.  
  66.   (set #complete              (cat "Installation abgeschlossen!\n\p.OS finden Sie nun in Ihrer Schublade \"%s\".\n\n"))
  67. )
  68. )
  69.  
  70.  
  71. ;=============================================================================
  72. ; Englische Texte
  73.  
  74. (if (= @language "english")
  75. (
  76.  
  77.   (set #welcome               (cat "\n\nWelcome to the p.OS installation.\n\n"
  78.                                    "For a complete installation you will need at least 4 MByte free "
  79.                                    "memory and 16 MByte free disk space. In addition a 68020 "
  80.                                    "cpu (or better) is required.\n\n"
  81.                                    "Continue installation ?"))
  82.  
  83.   (set #abort_version         (cat "This p.OS prerelease needs the\n"
  84.                                    "AmigaOS 2.04 (V37) or greater.\n\n\n"
  85.                                    "ABORT INSTALLATION"))
  86.   (set #abort_cpu             (cat "p.OS needs at least a 68020 cpu.\n"
  87.                                    "(%s found)\n\n\n"
  88.                                    "ABORT INSTALLATION"))
  89.   (set #abort_memory          (cat "p.OS needs 4 MByte memory.\n"
  90.                                    "(%ld MByte memory found)\n\n\n"
  91.                                    "ABORT INSTALLATION"))
  92.   (set #warn_memory           (cat "\np.OS needs 4 MByte memory.\n"
  93.                                    "(%ld MByte memory found)\n\n\n"
  94.                                    "Continue with installation ?"))
  95.   (set #memchoise1            (cat "Continue Install"))
  96.   (set #memchoise2            (cat "Abort Install"))
  97.   (set #abort_diskname        (cat "Drive\n"
  98.                                    "\"%s\"\n"
  99.                                    "is invalid !!!\n\n\n"
  100.                                    "ABORT INSTALLATION"))
  101.   (set #abort_diskspace       (cat "\nThere is not enough free space\n"
  102.                                    "for a complete p.OS installation on drive\n"
  103.                                    "\"%s\" !!!\n\n\n"
  104.                                    "(Only %ld kByte free.)\n\n\n"
  105.                                    "ABORT INSTALLATION"))
  106.  
  107.   (set #needinstalcd          (cat "Need the installation CD\n"
  108.                                    "\"%s\"\n"
  109.                                    "to continue with the installation process."))
  110.   (set #needinstalcdhelp      (cat "p.OS cannot be installed without the installation CD !\n\n" @askdisk-help))
  111.  
  112.   (set #selectdrawer          (cat "Please choose the DRIVE for the p.OS installation."))
  113.  
  114.   (set #selectdrawerhelp      (cat "Please choose a DRIVE for the p.OS installation.\n"
  115.                                    "A root directory is needed !\n"
  116.                                    "A drawer \"pOS\" will be created automatically.\n"
  117.                                    "Old data will remain unchanged. Nothing will be deleted.\n\n" @askdir-help))
  118.  
  119.   (set #startinstall          (cat "\n\nCreate drawer \"%s\" and\n"
  120.                                    "install all data there..."))
  121.  
  122.   (set #assignedpos           (cat "\n\nInsert assign \"pOS:\" into the \"User-Startup\" file."))
  123.  
  124.   (set #reqchoices1           (cat "Continue"))
  125.   (set #reqchoices2           (cat "Skip this part."))
  126.  
  127.   (set #checksystem           (cat "\nChecking for installed tools, which can make trouble, if they run together with p.OS. "
  128.                                    "These tools will be deactivated automatically after a confirmation request." ))
  129.   (set #checksystemhelp       (cat "" @askbool-help))
  130.   (set #checksystemworking    (cat "Tool \"CheckSystem\" is now active."))
  131.  
  132.   (set #mountamigavol         (cat "\nYou can choose some Amiga drives for use in p.OS. "
  133.                                    "Please select these drives in the next window." ))
  134.  
  135.   (set #mountamigavolhelp     (cat "" @askbool-help))
  136.   (set #mountamigavolworking  (cat "Tool \"MountAmigaVol\" is now active."))
  137.  
  138.   (set #startparameter        (cat "Now you can set some system options. "
  139.                                    "Please choose the screen mode and font according to your hardware "
  140.                                    "(ESC, AGA or graphics card).\n\n"
  141.                                    "A p.OS start icon will also be created."))
  142.   (set #startparameterhelp    (cat "" @askbool-help))
  143.   (set #startparameterworking (cat "Tool \"StartParameter\" is now active."))
  144.  
  145.   (set #activate              (cat "There are different possibilities to start p.OS.\n"
  146.                                    "Please choose your most prefered method."))
  147.   (set #activatehelp          (cat "" @askchoice-help))
  148.   (set #activatechoices0      (cat "A start icon on Amiga Workbench"))
  149.   (set #activatechoices1      (cat "Start automatically with Amiga system"))
  150.   (set #activatechoices2      (cat "Start p.OS from its drawer by hand"))
  151.   (set #activate0work         (cat "\nLeave out the p.OS start icon\n..."))
  152.   (set #activate2work         (cat "\nCopy the p.OS start icon into the WBStartup drawer\n..."))
  153.   (set #complete              (cat "Installation complete !\n"
  154.                                    "You can find p.OS at the \"%s\" drawer.\n\n\n"))
  155. )
  156. )
  157.  
  158.  
  159.  
  160. ;=============================================================================
  161.  
  162. ;-----------------------------------------------------------------------------
  163. ; hier die Vorbelegungen:
  164.  
  165.   (set @default-dest "Work:")
  166.   (set #Installdisk "p.OS-PreRelease:")
  167.   (set #NEED_HDmem 16400)     ; freier Festplattenspeicher
  168.   (set @execute-dir "p.OS-PreRelease:install")  ; Verzeichnis bei Aufruf von externen Programmen
  169.  
  170.   (complete 0)
  171.  
  172.  
  173. ;-----------------------------------------------------------------------------
  174. ; Begrüßung ausgeben
  175.  
  176.   (user 2) ; immer als Experte installieren
  177.   (message #welcome)
  178.  
  179.  
  180. ;-----------------------------------------------------------------------------
  181. ; Versionsnummer des AmigaOS überprüfen
  182.  
  183.   (set #OS_Version (/ (getversion "libs:version.library") 65536))
  184.   (if (= #OS_Version 0) (set #OS_Version (/ (getversion "exec.library" (resident)) 65536)))
  185.   (if (< #OS_Version 37) (abort #abort_version))
  186.  
  187.  
  188. ;-----------------------------------------------------------------------------
  189. ; Korrekte CPU überprüfen
  190.  
  191.   (set #Cpu (database "cpu"))
  192. (debug "CPU: " #Cpu)
  193.   (if (< #Cpu "68020") (abort (#abort_cpu #Cpu)))
  194.  
  195.  
  196. ;-----------------------------------------------------------------------------
  197. ; Genug freies Fast-Ram überprüfen
  198.  
  199.   (set #Mem (database "total-mem"))
  200.   (set #GfxMem (database "graphics-mem"))
  201. (debug "Memory: " (- #Mem #GfxMem))
  202. ;  (if (< (- #Mem #GfxMem) 4200000) (abort (#abort_memory  (/(- #Mem #GfxMem)1048576))))
  203.  
  204.   (if (< (- #Mem #GfxMem) 4000000)
  205.       (if (askbool
  206.           (prompt (#warn_memory  (/(- #Mem #GfxMem)1048576)))
  207.           (help #warn_memoryhelp)
  208.           (default 0)
  209.           (choices #memchoise1 #memchoise2)
  210.           )
  211.         (
  212.           (working "")  ; Continue installation
  213.         )
  214.         (
  215.           (exit (quiet))   ; Installation abort
  216.         )
  217.       )
  218.   )
  219.  
  220.  
  221. ;-----------------------------------------------------------------------------
  222. ; Installations-Diskette muß in einem Laufwerk liegen
  223. ;(debug "Punkt-A2 (Installdisk verlangen)")
  224.  
  225. (debug "Install-CD: " (substr #Installdisk 0 (- (strlen #Installdisk) 1)))
  226.   (askdisk
  227.     (prompt (#needinstalcd #Installdisk))
  228.     (help #needinstalcdhelp)
  229.     (dest (substr #Installdisk 0 (- (strlen #Installdisk) 1)))
  230.   )
  231.   (working)
  232.  
  233.   (complete 5)
  234.  
  235.  
  236. ; ======================== pOS ======================================
  237.  
  238.  
  239. ;-----------------------------------------------------------------------------
  240. ; prüfen ob Zielverzeichnis existiert, sonst Verzeichnisauswahl vornehmen
  241.  
  242.   (set #pos-volume
  243.     (askdir
  244.       (prompt #selectdrawer)
  245.       (help #selectdrawerhelp)
  246.       (default @default-dest)
  247.       (disk)
  248.     )
  249.   )
  250.   (set #pos-volume (cat (getdevice #pos-volume) ":"))  ; Doppelpunkt vom Laufwerksname geht verloren
  251. (debug "Zielverzeichnis: " #pos-volume)
  252.  
  253.  
  254. ;-----------------------------------------------------------------------------
  255. ; existiert jetzt das Ziel-Verzeichnis nicht, wird die Installation
  256. ; abgebrochen
  257.  
  258.   (if (< (exists #pos-volume (noreq)) 2) (abort (#abort_diskname #pos-volume)))
  259.  
  260.  
  261. ;-----------------------------------------------------------------------------
  262. ; prüfen, ob genug Platz für die Installation vorhanden ist
  263.  
  264.   (set #diskmem (/ (getdiskspace #pos-volume) 1024))  ;in kByte umrechnen
  265. (debug "diskspace: " #diskmem " benötigt wird: " #NEED_HDmem)
  266.   (if (< #diskmem #NEED_HDmem) (abort (#abort_diskspace #pos-volume #diskmem)))
  267.  
  268.  
  269. ;-----------------------------------------------------------------------------
  270. ; dann das pOS-Verzeichnis erstellen und die gewünschten Daten kopieren
  271.  
  272.   (set @default-dest (tackon #pos-volume "pOS"))
  273.   (message (#startinstall @default-dest))
  274.  
  275.   (makedir @default-dest (infos))
  276.  
  277.  
  278.   (copyfiles
  279.     (source (tackon #Installdisk "pOS/"))
  280.     (dest @default-dest)
  281.     (pattern "#?")
  282.   )
  283.   (complete 50)
  284.  
  285.  
  286. ;-----------------------------------------------------------------------------
  287. ; jetzt noch den Assign für pOS setzen und ...
  288.  
  289.   (makeassign "pOS" #pos-volume)
  290.  
  291.   (user 0)
  292.   (startup @app-name
  293.     (command (cat " Assign pOS: " #pos-volume))
  294.     (prompt #assignedpos)
  295.     (help @startup-help)
  296.   )
  297.   (user 2)
  298.   (complete 60)
  299.  
  300.  
  301. ;-----------------------------------------------------------------------------
  302. ; ... und die Systemcheck-Programme aufrufen
  303.  
  304.   (if (askbool
  305.         (prompt #checksystem)
  306.         (help #checksystemhelp)
  307.         (default 1)
  308.         (choices #reqchoices1 #reqchoices2)
  309.       )
  310.       (
  311.         (working #checksystemworking)
  312.         (run ("CheckSystem %s" @language) )
  313. (debug "Returncode von CheckSystem: " @ioerr)
  314.       )
  315.   )
  316.   (complete 70)
  317.  
  318.  
  319.  
  320.   (if (askbool
  321.         (prompt #mountamigavol)
  322.         (help #mountamigavolhelp)
  323.         (default 1)
  324.         (choices #reqchoices1 #reqchoices2)
  325.       )
  326.       (
  327.         (working #mountamigavolworking)
  328.         (run ("MountAmigaVol %s" @language) )
  329. (debug "Returncode von MountAmigaVol: " @ioerr)
  330.       )
  331.   )
  332.   (complete 80)
  333.  
  334.  
  335.   (if (askbool
  336.         (prompt #startparameter)
  337.         (help #startparameterhelp)
  338.         (default 1)
  339.         (choices #reqchoices1 #reqchoices2)
  340.       )
  341.       (
  342.         (working #startparameterworking)
  343.         (run ("StartParameter %s" @language) )
  344. (debug "Returncode von StartParameter: " @ioerr)
  345.       )
  346.   )
  347.   (complete 90)
  348.  
  349.  
  350. ;-----------------------------------------------------------------------------
  351. ; auf Wunsch pOS automatisch beim Amiga-Start mit aktivieren
  352. ; oder auf die Amiga-Workbench auslagern
  353.  
  354.  
  355.   (set auswahl
  356.     (askchoice
  357.       (prompt #activate)
  358.       (help #activatehelp)
  359.       (default 0)
  360.       (choices #activatechoices0 #activatechoices1 #activatechoices2)
  361.     )
  362.   )
  363.  
  364.   (if (= auswahl 0)
  365.     (
  366.       (working #activate0work)
  367.  
  368.       ; existiert die backdrop-Datei noch nicht, erst eine leere anlegen
  369.       (if (= (exists (tackon #pos-volume ".backdrop") (noreq)) 0)
  370.           (textfile (append "") (dest (tackon #pos-volume ".backdrop")))
  371.       )
  372.  
  373.       (textfile
  374.         (include (tackon #pos-volume ".backdrop"))
  375.         (append ":Start p.OS")
  376.         (dest (tackon #pos-volume ".backdrop"))
  377.       )
  378.     )
  379.   )
  380.   (if (= auswahl 1)
  381.     (
  382.       (working #activate1work)
  383.  
  384.       (copyfiles
  385.         (source #pos-volume)
  386.         (dest "SYS:WBStartup")
  387.         (pattern "Start p.OS(%|.info)")
  388.       )
  389.     )
  390.   )
  391.   ;auswahl=2 => keine Änderung notwendig
  392.  
  393.  
  394. ;-----------------------------------------------------------------------------
  395. ; Fertig
  396.  
  397. (if (= @language "english")
  398. (
  399.   (copyfiles
  400.     (source (tackon #Installdisk "english/"))
  401.     (dest @default-dest)
  402.     (pattern "#?")
  403.   )
  404. )
  405. )
  406.  
  407.   (working)
  408.  
  409.   (complete 100)
  410.  
  411.   (user 2)
  412.   (message (#complete @default-dest))
  413.  
  414. ;  (run "Reboot")
  415.  
  416. ;=============================================================================
  417.  
  418.